草庐IT

LiveData 从实践到原理

全部标签

微机原理与接口技术 8255和8253综合应用之交通灯控制器的设计

交通灯控制器的设计一、实验要求通过采用并行口8255A和定时器/计数器8253编写一模仿交通灯程序,在微机原理实验仪上调试,运行后可以看到LED灯在不停的红绿交替亮。二、实验目的:熟悉和掌握并行口8255A和定时器/计数器8253的初始化和综合使用。三、实验电路及连接图:根据实验要求设计实验原理图,并标明端口地址。        将8253和8255的A0、A1和实验平台上地址总线的A0、A1连接上,8253的CS连接至地址端口的320H,8255的CS连接至地址端口的340H(8253的通道0、控制口地址为320H、323H;8255的A口、C口、控制口地址分别为340H、342H、343H

HTTPS协议的原理 --- RSA密钥协商算法

目录一、TLS握手过程二、RSA密钥协商握手过程TLS第一次握手TLS第二次握手TLS第三次握手TLS第四次握手数字证书和CA机构数字证书签发和验证流程三、RSA算法的缺陷DH密钥协商算法一、TLS握手过程上图简要概述来TLS的握手过程,其中每一个「框」都是一个记录(record),记录是TLS收发数据的基本单位,类似于TCP里的segment。多个记录可以组合成一个TCP包发送,所以通常经过「四个消息」就可以完成TLS握手,也就是需要2个RTT的时延,然后就可以在安全的通信环境里发送HTTP报文,实现HTTPS协议。所以可以发现,HTTPS是应用层协议,需要先完成TCP连接建立,然后走TLS

前端 JS 安全对抗原理与实践

一、概念解析1.1什么是接口加密如今这个时代,数据已经变得越来越重要,网页和APP是主流的数据载体,如果获取数据的接口没有设置任何的保护措施的话,数据就会被轻易地窃取或篡改。除了数据泄露外,一些重要功能的接口如果没有做好保护措施也会被恶意调用造成DDoS、条件竞争等攻击效果,比如如下几个场景:一些营销活动类的Web页面,领红包、领券、投票、抽奖等活动方式很常见。此类活动对于普通用户来说应该是“拼手气”,而对于非正常用户来说,可以通过直接刷活动API接口的这种“作弊”方式来提升“手气”。这样对普通用户来说就很不公平。所以对重要接口都会采用加密验签的方式进行保护,而验签的加密逻辑大多数都通过JS代

【运维知识大神篇】超详细的ELFK日志分析教程9(zookeeper集群部署+使用+leader选举流程+zab协议写入原理+kafka集群部署+zabbix监控zookeeper、kafka集群)

目录部署zookeeper单点部署zookeeper集群zookeeper的leader选举流程一、前情提要二、选举流程zookeeper基于zab协议写入数据原理一、前期提要二、写入流程zookeeper客户常用命令一、连接客户端二、zookeeper的基本使用使用zkWeb.jar来管理ZK集群KAFKA单点部署KAFKA集群部署扩展一、zabbix监控zookeeper、kafka集群二、Loki+Grafana当我们的数据足够多时,我们需要用到kafka的消息队列进行缓冲,消息队列优势有很多,例如可以削峰填谷,指流量图相对于不使用消息队列流量的流入比较平缓,减少服务器压力;还有应用解耦

浅谈C/S和B/S架构的工作原理及优缺点

 C/S架构一、C/S架构及其背景C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构,不过一直很流行也比较经典的是我们所要研究的两层C/S架构。 C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。简单的说就是第一层是用户表示层,第二层是数据库层。客户端和服务器直接相连,这两个组成部分都承担着重要的角色,第一层的客户机并不是只有输入输出,运算等能力,它可以处理一些计算,数据存储等方面的业务逻

【博客628】k8s pod访问集群外域名原理以及主机开启了systemd-resolved的不同情况

k8spod访问集群外域名原理以及使用了systemd-resolved的不同情况1、不同情况下的linux主机访问外部域名原理没有使用systemd-resolved的linux主机上访问外部域名一般是按照以下步骤来的:从dns缓存里查找域名与ip的映射关系从/etc/hosts里查找域名与ip的映射关系从/etc/resolv.conf里查找dnsserver,并发起解析请求/etc/resolv.conf的内容一般如下:nameserver8.8.8.8使用systemd-resolved的linux主机上访问外部域名一般是按照以下步骤来的:从dns缓存里查找域名与ip的映射关系从/et

Linux从外到内剥开动态库,一个简单例子看懂Linux下的动态库开发原理

本文将演示4种各自独立的得到最终二进制文件的方式。代码采用C语言。用gcc将C语言代码生成静态库 .a 文件,再与编译后的main.o合成最终的静态链接的可执行文件,查看运行结果。用gcc将C语言代码生成动态库,待用。用gcc将C语言代码编译并链接动态库,生成可执行文件main,运行时依赖动态库so文件。演示用ar如何转换静态库文件得到动态库文件。可被用于可执行文件的链接。本文代码文件内容首先列出所有代码文件内容,一共3个文件:drive.h,drive.c,main.c,分别为动态库libdrive.so的头文件、函数实现文件、主入口main()文件。内容分别如下。为了简明易懂,只以最简单的

【人工智能】Chatgpt的训练原理

前言        前不久,在学习C语言的我写了一段三子棋的代码,但是与我对抗的电脑是没有任何思考的,你看了这段代码就理解为什么了:voidcomputerMove(charBoard[ROW][COL],introw,intcol){ while(1) { unsignedinti=rand()%ROW,j=rand()%COL; if(Board[i][j]=='') { Board[i][j]='#'; break; } }}        电脑的走的棋子是随机产生的,于是我想赋予电脑一定的智能,给它写一些思考函数,但是,一种一种的if嵌套if的逻辑代码写下来不仅极易出

[C++] 多态(下) -- 多态原理 -- 动静态绑定

文章目录1、多态原理2、动态绑定和静态绑定3、单继承和多继承关系的虚函数表3.1单继承中的虚函数表5.2多继承中的虚函数表上一篇文章我们了解了虚函数表,虚函数表指针,本篇文章我们来了解多态的底层原理,更好的理解多态的机制。[C++]多态(上)–抽象类、虚函数、虚函数表1、多态原理下面这段代码中,Func函数传Person调用的Person::BuyTicket,传Student调用的是Student::BuyTicket,这就是多态调用,但是这里我们并不知道原理是什么,接下来我们就来了解一下原理。classPerson{public: virtualvoidBuyTicket() { cou

android - 与 Room 和 LiveData 的多对多关系

我有一个restapi,它返回一个地点列表,其中有一个类别列表:{"id":"35fds-45sdgk-fsd87","name":"Myawesomeplace","categories":[{"id":"cat1","name":"Category1"},{"id":"cat2","name":"Category2"},{"id":"cat3","name":"Category3"}]}所以使用改造我从远程服务器获得这些模型类:dataclassCategory(varid:String,varname:String)dataclassPlace(varid:String,varn